package com.candy.inner;

/**
 * 内部类的应用
 */
public class InnerClassDemo {
//    属性
    String name;
    int age;

//    成员内部类
    private class Student{
        void study(){
            System.out.println("我是成员内部类");
        }
   }
//   静态内部类
   static class StaticInnerClass{
        void doSomeThing(){
            System.out.println("静态内部类");
        }
    }

//    方法
    public void sayHi(){
        Student s=new Student();
        s.study();
        StaticInnerClass sc=new StaticInnerClass();

    }
    public static void sayBye(){
//       静态内部类
        StaticInnerClass sc=new StaticInnerClass();
//        Student s=new Student();此处无法创建非静态的内部类对象
        sc.doSomeThing();
    }


    public void sayHello(){
//        局部内部类
        class Teacher{
            void teaching(){
                System.out.println("局部内部类");
            }
        }
        Teacher t=new Teacher();
        t.teaching();
    }

    public void noNameClass(){
//        匿名内部类的演示
        new Team(){
            @Override
            public void palyGame() {
                System.out.println("我是匿名内部类");
            }
        }.palyGame();
    }
}
